package com.shop.entity;

import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 导航 实体类。
 *
 * @author 彭新才 
 * @since 2024-10-15
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "导航")
@Table(value = "shop_navigation")
public class ShopNavigation implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 自增id
     */
    @Id(keyType = KeyType.Auto)
    @Schema(description = "自增id")
    private Long id;

    /**
     * 父id
     */
    @Schema(description = "父id")
    private Long pid;

    /**
     * 导航名称
     */
    @Schema(description = "导航名称")
    private String name;

    /**
     * 自定义url地址
     */
    @Schema(description = "自定义url地址")
    private String url;

    /**
     * 数据值
     */
    @Schema(description = "数据值")
    private String value;

    /**
     * 数据类型（custom:自定义导航, article_class:文章分类, customview:自定义页面）
     */
    @Schema(description = "数据类型（custom:自定义导航, article_class:文章分类, customview:自定义页面）")
    private String dataType;

    /**
     * 导航类型（header:顶部导航, footer:底部导航）
     */
    @Schema(description = "导航类型（header:顶部导航, footer:底部导航）")
    private String navType;

    /**
     * 排序
     */
    @Schema(description = "排序")
    private Integer sort;

    /**
     * 是否显示（0否，1是）
     */
    @Schema(description = "是否显示（0否，1是）")
    private Integer isShow;

    /**
     * 是否新窗口打开（0否，1是）
     */
    @Schema(description = "是否新窗口打开（0否，1是）")
    private Integer isNewWindowOpen;

    /**
     * 添加时间
     */
    @Schema(description = "添加时间")
    private Long addTime;

    /**
     * 更新时间
     */
    @Schema(description = "更新时间")
    private Long updTime;

}
